package com.gpframework.module.common.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gpframework.module.brand.domain.req.BrandWxMenuAdd;
import com.gpframework.module.common.domain.CommonWxMenu;
import com.gpframework.module.common.domain.req.CommonWxMenuReq;
import com.gpframework.module.common.domain.vo.CommonWxMenuVo;

import java.util.List;

/**
 * @ClassName CommonWxMenu
 * @Author gpframework
 * @Date 2023-08-15
 * @Version 1.0.0
 * @Description 小程序权限Service接口
 */
public interface ICommonWxMenuService extends IService<CommonWxMenu> {

    /**
     * @Description 查询列表返回VO 用于返回给前端的列表接口
     * @Author gpframework
     * @Date 2023-08-15
     * @Param [lqw]
     * @Return List<CommonWxMenuVo>
     */
    List<CommonWxMenuVo> listVo(QueryWrapper<CommonWxMenu> lqw);

    /**
     * @Description 通过查询详情VO 用于返回给前端的列详情接口
     * @Author gpframework
     * @Date 2023-08-15
     * @Param [id]
     * @Return CommonWxMenuVo
     */
    CommonWxMenuVo getVoById(Long id);

    /**
     * 获取门店小程序权限 pc（是否有开启授权都会显示所有权限列表且返回是否授权标识）
     *
     * @param commonWxMenuReq
     * @return
     */
    List<CommonWxMenuVo> findList(CommonWxMenuReq commonWxMenuReq);

    /**
     * 获取门店小程序权限
     *
     * @param commonWxMenuReq
     * @return
     */
    List<String> getStoreComponentList(CommonWxMenuReq commonWxMenuReq);

    /**
     * 添加门店菜单权限
     *
     * @param brandWxMenuAdd
     * @return
     */
    boolean saveStoreWxMenu(BrandWxMenuAdd brandWxMenuAdd);

    /**
     * 小程序模块显示默认参数
     *
     * @param wxMenuReq
     */
    boolean initializeWxMenu(CommonWxMenuReq wxMenuReq);
}
